import { isFunction } from '@/utils/is';

/**
 * @description 处理错误的统一方法
 * @param {Error} error 错误信息
 * @param {Function} callback 回调
 */
const handleError = (error, callback) => {
	console.error(
		'%c%s\n\n%o',
		'font-size: 20px; font-weight: bold;',
		'Catch Error Below:',
		error
	);

	// @TODO: 对接错误监控平台
	// ...

	isFunction(callback) && callback(error);
};

export default {
	install: (app) => {
		// 处理vue的错误
		app.config.errorHandler = handleError;
	},
};
